import turtle


def draw_go_board(size: int = 30, lines: int = 15) -> None:
    """绘制围棋/五子棋棋盘
    
    功能：根据指定的格子大小和线条数量，绘制居中的棋盘网格
    
    参数：
        size: 每个格子的边长（像素），默认值30
        lines: 棋盘的线条数量（即网格维度为lines×lines），默认值15
    """
    # 初始化画笔
    pen = turtle.Turtle()
    pen.speed(10)  # 设置绘制速度（0-10，10为最快）
    pen.penup()     # 抬起画笔，移动时不绘制
    
    # 计算棋盘起始坐标（使棋盘在窗口中居中）
    half_range = (lines - 1) * size / 2
    start_x = -half_range  # 起始X坐标
    start_y = half_range   # 起始Y坐标
    
    # 绘制横线
    for i in range(lines):
        # 移动到横线起点
        pen.goto(start_x, start_y - i * size)
        pen.pendown()  # 放下画笔，开始绘制
        # 绘制到横线终点
        pen.goto(start_x + (lines - 1) * size, start_y - i * size)
        pen.penup()    # 抬起画笔，结束当前横线绘制
    
    # 绘制竖线
    for i in range(lines):
        # 移动到竖线起点
        pen.goto(start_x + i * size, start_y)
        pen.pendown()  # 放下画笔，开始绘制
        # 绘制到竖线终点
        pen.goto(start_x + i * size, start_y - (lines - 1) * size)
        pen.penup()    # 抬起画笔，结束当前竖线绘制
    
    pen.hideturtle()  # 隐藏画笔图标
    turtle.done()     # 保持窗口显示，等待用户关闭


if __name__ == "__main__":
    # 绘制15×15的五子棋棋盘（每个格子边长30像素）
    draw_go_board(size=30, lines=15)